package com.hspedu.set_;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 * @author DL5O
 * @version 1.0
 */
public class SetMethod {
    public static void main(String[] args) {

        // 解读：
        // 1.以 Set 接口的实现类 HashSet 来讲解 Set 接口的方法
        // 2.set 接口的对象
        Set set = new HashSet();
        set.add("john");
        set.add("lucy");
        set.add("jahn");//重复
        set.add("john");
        set.add("ywl");
        set.add("ywl");
        set.add(null);//空
        set.add(null);//再次添加空

        System.out.println(set);//[null, john, jahn, lucy]
        System.out.println(set);//[null, john, jahn, lucy]

        //遍历
        //方式一:使用迭代器
        System.out.println("===迭代器遍历===");
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            Object obj =  iterator.next();
            System.out.println("obj=" + obj );
        }
        //方式二：增强for
        System.out.println("===增强for===");
        for (Object o :set) {
            System.out.println("o=" + o);
        }

        //set接口对象不能通过索引来获取
        set.remove(null);
        System.out.println(set);//[john, jahn, lucy, ywl]
    }
}
